Clustering is a form of
unsupervised machine learning, in which observations
are grouped into clusters based on similarities in their data values or
features. This kind of machine learning
is considered unsupervised because it does not make use of previous
known label values to train a model. In a clustering model, the label is
the cluster to which the observation is assigned based purely on its features. For example, suppose of botanists
observes a sample of flowers and records the number of petals and
leaves on each flower. It may be useful to group these flowers
into clusters based on similarities between their features. There are many ways this could be done,
for example, if most flowers have the same number of leaves, they could be grouped
into those with many versus few petals. Alternatively, if both petal and leave
counts very considerably, there may be a pattern to discover, such as those with
many leaves also having many petals. The goal of the clustering algorithm is
to find the optimal way to split the data set into groups. What optimal means depends on
both the algorithm used and the data set that is provided. Although this flower example may be simple
for a human to achieve with only a few samples, as the dataset grows to thousands
of samples or to more than two features, clustering algorithms become very useful
to quickly dissect a data set into groups.